package com.sdp.refund.db.refund_user.entity;

import java.math.BigDecimal;
import java.time.LocalDateTime;

import org.springframework.format.annotation.DateTimeFormat;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author zsp
 * @since 2024-08-28
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("refund_user")
public class RefundUser extends Model<RefundUser> {

    private static final long serialVersionUID=1L;

    /**
     *  内码
     */
    @TableId("key_id")
    private String keyId;

    /**
     * 小区
     */
    @TableField("housing_estate")
    private String housingEstate;

    /**
     * 楼栋
     */
    @TableField("building_num")
    private String buildingNum;

    /**
     * 单元
     */
    @TableField("unit_num")
    private String unitNum;

    /**
     * 房间
     */
    @TableField("room_num")
    private String roomNum;

    /**
     * 户主姓名
     */
    @TableField("user_name")
    private String userName;

    /**
     * 身份证号
     */
    @TableField("id_num")
    private String idNum;

    /**
     * 银行卡号
     */
    @TableField("bank_num ")
    private String bankNum ;

    /**
     * 开户行
     */
    @TableField("bank_ac")
    private String bankAc;

    /**
     * 联系电话
     */
    @TableField("user_tel")
    private String userTel;

    /**
     * 年度
     */
    @TableField("user_year")
    private Integer userYear;

    /**
     * 余额
     */
    @TableField("user_balance")
    private BigDecimal userBalance;

    /**
     * 用户地址
     */
    @TableField("user_address")
    private String userAddress;

    /**
     * 退费状态
     */
    @TableField("refund_state")
    private String refundState;
    
    /**
     * 身份证正面照片
     */
    @TableField("id_card_front_photo")
    private String idCardFrontPhoto;
    
    /**
     * 身份证反面照片
     */
    @TableField("id_card_back_photo")
    private String idCardBackPhoto;
    
    /**
     * 银行卡照片
     */
    @TableField("bank_photo")
    private String bankPhoto;
    
    
    /**
     * 生成时间
     */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @TableField("create_time")
    private LocalDateTime createTime;
    
    /**
     * 申请时间
     */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @TableField("apply_time")
    private LocalDateTime applyTime;
     
    /**
     * 受理时间
     */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @TableField("accept_time")
    private LocalDateTime acceptTime;
    
    /**
     * 退费时间
     */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @TableField("refund_time")
    private LocalDateTime refundTime;
    
    /**
     * 驳回原因
     */
    @TableField("reject_cause")
    private String rejectCause;
    
    /**
     * 数据类型
     */
    @TableField("data_type")
    private String dataType;


    @Override
    protected Serializable pkVal() {
        return this.keyId;
    }

}
